package com.wicket.okrapp.integration.dto;

import com.wicket.okrapp.common.dto.BaseDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import javax.validation.constraints.NotNull;
import java.io.Serializable;

/**
 * @desc ImplementAsyncSingleCheckItemCurrentParentChildStatusComReqDto
 * @使用场景
 */
@EqualsAndHashCode(callSuper = true)
@Data
public class ImplementAsyncSingleCheckItemCurrentParentChildStatusComReqDto
  extends BaseDto
  implements Serializable {

  /**
   * 上级被评对象目标周期标识
   */
  @NotNull(message = "上级被评对象目标周期标识不能为空")
  @ApiModelProperty("上级被评对象目标周期标识")
  private String parentEvaObjTargetCycleId;

  /**
   * 被评对象内容表主键ID
   */
  @NotNull(message = "被评对象内容表主键ID不能为空")
  @ApiModelProperty("被评对象内容表主键ID")
  private String evaObjEntityId;

  /**
   * 被评对象类型编码 EVA_PORTRAIT:评价画像 EVA_OBJECT:评价对象 FLEVEL_OBJ_TASK_DUTY_DEPT:一级部门目标任务责任部门 OKR_SUBJECT_DEPT:OKR责任主体部门 OKR_SUBJECT_PERSONAL:OKR责任主体个人
   */
  @NotNull(message = "被评对象类型编码不能为空")
  @ApiModelProperty("被评对象类型编码")
  private String evaObjTypeCode;

  /**
   * 检查内容对象ID
   */
  @NotNull(message = "检查内容对象ID 不能为空")
  @ApiModelProperty("检查内容对象ID ")
  private String checkObjectTypeId;

  /**
   * 内容对象实例ID
   */
  @NotNull(message = "内容对象实例ID不能为空")
  @ApiModelProperty("内容对象实例ID")
  private String entityId;

  /**
   * 冗余评价模板ID
   */
  @NotNull(message = "冗余评价模板ID不能为空")
  @ApiModelProperty("冗余评价模板ID")
  private String evaluationTemplateId;

  /**
   * 检查项标识
   */
  @NotNull(message = "检查项标识不能为空")
  @ApiModelProperty("检查项标识")
  private String checkItemCode;

}
